package cn.com.huzo.repository.trade;

import cn.com.huzo.model.entities.trade.SalesContractLinesEntity;
import huzofw.repository.GenericRepository;
import java.util.List;
import java.util.Map;

/**
 * 售货合同明细访问对象接口。
 *
 * @author 范学春
 */
public interface SalesContractLinesRepository extends GenericRepository<SalesContractLinesEntity, String> {

    /**
     * 根据售货合同标识取得明细
     *
     * @param headerId 售货合同标识
     *
     * @return 售货合同明细
     */
    List<SalesContractLinesEntity> fetchByHeaderId(Long headerId);

    /**
     * 根据条件取得明细
     *
     * @param criterion 所选择的筛选条件
     * @return 售货合同明细
     */
    List<SalesContractLinesEntity> fetchByCondition(Map<String, Object> criterion);

    /**
     * 合同明细中的总金额
     *
     * @param headerId 主表ID
     * @return 总金额
     */
    Float fetchTotalAmount(Long headerId);
}
